SFTP Communication Method configuration
To set up SFTP as a communication method for a trading partner, you can use default settings, a shared communication channel, or configure specific settings in the Edit SFTP Configuration dialog. The dialog opens from within the trading partner Communication tab when you add SFTP as a communication method or click SFTP in the Communication Method list.
These settings will be used whenever this partner appears in a Start step or Trading Partner step that is set to use SFTP.
For information about the legacy SFTP communication method, refer to SFTP (Legacy) Communication Method configuration.
Connection settings
-
Remote Directory - (Optional) The directory on the SFTP server where the connector reads files from or writes files to. If you leave this field blank or specify a relative directory path, the connector uses the default working directory configured as the base folder on the SFTP server. You can override this value by using the Remote Directory input document property.
-
Host - The hostname of the server hosting the SFTP server
-
Port - The port at which the SFTP server is listening
-
User Name - The username for the SFTP server
-
Password - The password for the SFTP user
-
Key Authentication - Key authentication can be provided to authenticate. By default, this is set to None, meaning that only the username and password are required to authenticate.
- Key File Path - (Available when Key Authentication is set to Key File Path) The file system path that specifies the location of the client key file on the runtime
- Key File Password - (Available when Key Authentication is set to Key File Path) The password for the key file
- Key Content - (Available when Key Authentication is set to Key File Content) - The private key content
- Key Content Password - (Available when Key Authentication is set to Key File Content) The password for the key content
- Public Key Content - (Available when Key Authentication is set to Key File Content) The public key content
- Key Pair Name - (Available when Key Authentication is set to Key File Content) The name of the SSH key pair used in the server
-
Use Connection Pooling - If selected, the connector maintains a memory cache of connections and reuses the existing connections each time when a new connection is requested. Connection pooling may help to increase performance by using resources more efficiently.
-
Use Proxy - If selected, you use a proxy to connect to the SFTP server
- Choose Proxy Type - Proxy type for connecting to the SFTP server: ATOM, HTTP, SOCKS4, or SOCKS5.
- Proxy Host - The hostname of the proxy server to connect to the SFTP server
- Proxy Port - The port of the proxy server to connect to the SFTP server
- Proxy Username - The proxy username to connect to the SFTP server
- Proxy Password - The proxy password
-
Known Host Entry - Specify the hostname and SSH public key content of the SFTP server for the connector to verify/match against the associated private key and to ensure a secure connection is established to the expected server.
-
Connection Timeout (ms) - (Optional) Enter the number of milliseconds that the connector waits to complete the connection handshake before it times out. If left blank, the connection uses the network timeout settings for the runtime or operating system.
noteIf the SFTP server configuration includes a connection timeout value, then it overrides the value provided here.
-
Read Timeout (ms) - (Optional) Enter the number of milliseconds that the connector waits to complete the FTP data transfer before it times out. If left blank, the connection uses the network timeout settings for the runtime or operating system.
noteIf the SFTP server configuration includes a connection timeout value, then it overrides the value provided here.
Advanced Configuration settings
The advanced configurations in this section correspond directly to settings applied to the JSch session during client connection negotiation. Do not modify the contents of this section unless you are confident in its implications. Refer to JSch README for a complete list of possible configuration keys and ways to configure your connection to use older algorithms.
-
Key Exchange (KEX) - The Key Exchange (KEX) algorithms that JSch will propose to the server during connection negotiation. It allows the client and server to securely agree on a shared secret without transmitting it over the network, even if the network is being monitored.
-
Server Host Key - The algorithms that JSch will accept for the server's host key. The server host key is used to authenticate the server to the client, ensuring that the client is connecting to the correct server.
-
Cipher (s2c) - The encryption algorithm used to secure data sent from the server to the client
-
Cipher (c2s) - The encryption algorithm used to secure data sent from the client to the server
-
MAC (s2c) - The message authentication code (MAC) algorithm used to ensure the integrity and authenticity of data sent from the server to the client
-
MAC (c2s) - The message authentication code (MAC) algorithm used to ensure the integrity and authenticity of data sent from the client to the server
-
Compression (s2c) - Compression algorithms used to compress data sent from the server to the client
-
Compression (c2s) - Compression algorithms used to compress data sent from the client to the server
-
Language (s2c) - Preferred language for responses from the server to the client
-
Language (c2s) - Preferred language for responses from the client to the server
-
Check Kexes - A list of KEX which should be first checked for availability. All KEX in this list which are not working will be removed from the Key Exchange (KEX) field.
-
Check MACs - A list of MAC which should be first checked for availability. All MAC in this list which are not working will be removed form the MAC (s2c) and MAC (c2s) fields.
-
Check Ciphers - A list of ciphers which should be first checked for availability. All ciphers in this list which are not working will be removed from the Cipher (s2c) and Cipher (c2s) fields.
-
Check Signatures - A list of signatures which should be first checked for availability. All signatures in this list which are not working will be removed from the Server Host Key field.
SFTP Custom Configuration settings
Click Add Property to add a key value pair. You can encrypt the key value pair by clicking Encrypt. Any key value pairs provided here will override their default configurations in the JSch library.
Get Options settings
-
Sub Directory - (Optional) The sub directory where the operation reads data. The operation builds the directory by combining the Remote Directory from the connection with this Sub Directory field. If left blank, you must specify a Remote Directory in the connection.
-
Include Child Directories - When enabled, the operation also retrieves files from child directories beneath the configured Sub Directory, up to the depth specified by Maximum Depth.
- Maximum Depth - The number of levels of child directories to traverse beneath the Sub Directory. A value of 1 retrieves files from immediate child directories only.
-
File Filter - The filter string for matching filenames in the remote directory. Use the Filter Strategy option to configure how matching is applied.
-
Filter Strategy - Determines how the File Filter should be applied to file names: Wildcard Match, Regex Match, Equals, Does Not Equal. The default is Wildcard Match, such as for matching Unix filenames. You can configure Regex Match when more complext matching logic is required.
-
Sort By - The field which will be used to sort files: Server Default or Last Modified Date. Defaults to whatever order the files are returned from the remote server.
-
Maximum Number of Files to Return - Specify a limit on how many files will be read from the remote directory. The default is
-1, which reads all files. -
Action After Read - Specify how to handle files on the SFTP server after successful retrieval:
- None - Leave files unchanged
- Move - Move them to another directory
- Delete - Delete them
-
Move To Directory - (Available when Action After Read is set to Move) - The destination directory path where files will be moved after successful retrieval.
-
Data Processing Options - The data processing steps are completed in the order specified after receiving the data before standards processing occurs.
Send Options settings
-
Sub Directory - (Optional) Specify the sub directory where the Write operation will write data. Write builds the directory by combining the Remote Directory from the connection with this Sub Directory field. If left blank, you must specify a Remote Directory in the connection.
-
Create Directory if it Doesn't Exist - If selected, the connector creates a directory (if it doesn't already exist) according to what is specified in the connection, document property, or staging directory field.
-
Action if File Exists - Specify how the operation behaves if the file name already exists in the remote directory on the SFTP server:
- Create unique name - The connector appends a number to the file name to make it unique
- Overwrite - Replace the existing file with the new one
- Append - The new file content is appended to the end of the existing one
- Generate error - Generates an error
-
Staging Directory - (Optional) Enter the directory to temporarily put a file before being moved to the remote directory. If you specify a relative directory path, the connector uses the default working directory configured as the base folder on the FTP server. If you do not specify a staging directory, the file is immediate written to the remote directory.
-
Temporary Extension - (Optional) Enter a temporary extension (such as .tmp or tmp) to append to the file name until the file is written to the remote directory. To avoid overwriting existing files, the connector guarantees that the temporary file name is unique when creating files.
-
Target File Name - If Create unique name is selected under Action if File Exists and this field is not empty, it will be used to create the target file name after the file transfer has completed. It can be a combination of one or all of the following variables:
- Alphanumeric string
$BASE- The base file name of the input file$EXTENSION- The extension of the input file$DATE- Today's date in MMDDYYYY format$TIME- The current time in HHMMSS.SSS format$UUID- A randomly generated unique ID
For example, specifying
$BASE_$DATE.$EXTENSIONwill generate a target file name such as example_05252026.csv, where the input document is example.csv.If left blank, the target file name will be the same as the source file name.
-
Temporary File Name - If Create unique name is selected under Action if File Exists and this field is not empty, it will be used to create the temporary file name after the file transfer has completed. It can be a combination of one or all of the following variables:
- Alphanumeric string
$BASE- The base file name of the input file$EXTENSION- The extension of the input file$DATE- Today's date in MMDDYYYY format$TIME- The current time in HHMMSS.SSS format$UUID- A randomly generated unique ID
For example, specifying
$BASE_$DATE.$EXTENSIONwill generate a temporary file name such as example_05252026.csv, where the input document is example.csv.If left blank, the temporary file name will be the same as the source file name.
-
Data Processing Options - The data processing steps are completed in the order specified after receiving the data and before standards processing occurs.